package org.inspiration.dudu.web.service.user;

import org.inspiration.dudu.user.model.dto.UserLikeDTO;

import java.util.List;
import java.util.Map;

/**
 * 用户点赞服务接口
 */
public interface UserLikeFacadeService {
    /**
     * 创建用户点赞
     * 
     * @param userLikeDTO 用户点赞数据传输对象
     */
    void createUserLike(UserLikeDTO userLikeDTO);

    /**
     * 删除用户点赞
     * 
     * @param userLikeDTO 用户点赞数据传输对象
     */
    void deleteUserLike(UserLikeDTO userLikeDTO);

    /**
     * 检查用户是否已点赞
     * 
     * @param userId 用户ID
     * @param contentId 内容ID
     * @return 如果已点赞返回true，否则返回false
     */
    Boolean isLiked(Long userId, String contentId);


    /**
     * 将指定的点赞标记为已读
     *
     */
    void markAsRead(UserLikeDTO userLikeDTO);

    /**
     * 获取用户最近的点赞记录
     * 
     * @param userId 用户ID
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 用户最近的点赞实体列表
     */
    List<Map<String, Object>> getLikeContentsByUserIdOrderByDESC(Long userId, Integer pageNum, Integer pageSize);

    List<Map<String, Object>> getReceiveLikeContentsByUserIdOrderByDESC(Long userId, Integer pageNum, Integer pageSize);

}
